El Modelo de Programación Cliente-Servidor es la arquitectura fundamental para aplicaciones distribuidas. No está definida por el hardware, sino por una transacción lógica entre dos procesos: un cliente que inicia una solicitud por un recurso, y un servidor que lo gestiona y proporciona.
1. La Transacción de 4 Pasos
Cada interacción sigue una secuencia rigurosa: (1) El cliente envía una solicitud; (2) El servidor interpreta y manipula los recursos locales; (3) El servidor envía una respuesta; (4) El cliente manipula los datos recibidos (por ejemplo, renderizar HTML).
2. Organización del Hardware
La comunicación depende del Adaptador de Red, un dispositivo de E/S. Los datos viajan desde la CPU a través del Puente de E/S y Búfer del Sistema hacia Memoria Principal. En una solicitud web como http://www.google.com:80, los paquetes recorren estos búferes para llegar al código de la aplicación.
3. Abstracción de Protocolo
Las aplicaciones modernas usan Orden de Bytes de Red (big-endian) para mantener consistencia. Funciones como getaddrinfo proporcionan asignación de nombre de dominio a dirección IP mientras permanecen independientes del protocolo.